﻿using System;
using System.Collections.Generic;
using System.Net.Http;
using Microsoft.Owin;
using Microsoft.Owin.Security;
using Sharp.Portal.Mvc.OAuth.Baidu.Provider;

namespace Sharp.Portal.Mvc.OAuth.Baidu
{
    public class BaiduAuthenticationOptions : AuthenticationOptions
    {

        public BaiduAuthenticationOptions()
            : base("Baidu")
        {
            Caption = "Baidu";
            CallbackPath = new PathString("/signin-baidu");
            AuthenticationMode = AuthenticationMode.Passive;
            Scope = new List<string>
            {
                "basic"
            };
            BackchannelTimeout = TimeSpan.FromSeconds(60);
        }

        public ISecureDataFormat<AuthenticationProperties> StateDataFormat { get; set; }

        public ICertificateValidator BackchannelCertificateValidator { get; set; }
 
        public HttpMessageHandler BackchannelHttpHandler { get; set; }
 
        public TimeSpan BackchannelTimeout { get; set; }
 
        public PathString CallbackPath { get; set; }

 
        public string Caption
        {
            get => Description.Caption;
            set => Description.Caption = value;
        }
 
        public string ApiKey { get; set; }
 
        public string SecretKey { get; set; }
 
        public IList<string> Scope { get; set; }
 
        public IBaiduAuthenticationProvider Provider { get; set; }
 
        public string SignInAsAuthenticationType { get; set; }
 

    }
}